package com.atguigu.advanced.jvm;

/**
 * Package: com.atguigu.advanced.jvm
 *
 * @Description: 该类用于演示 Java 字节码的基本操作，展示两个整数相加的简单程序。
 * 主要用于 JVM 字节码指令的学习和分析。
 * @Author xiongkunYang
 * @Create 2025/5/16 17:09
 */


public class Test03 {

    /*
    执行后的字节码：
        public static void main(java.lang.String[]);
        Code:
        0: bipush        15
        2: istore_1
        3: bipush        8
        5: istore_2
        6: iload_1
        7: iload_2
        8: iadd
        9: istore_3
        10: return
    TODO：字节码解释（逐行说明）
        指令编号	指令	含义说明
        0	bipush 15	将整数常量 15 推入操作数栈顶部
        2	istore_1	将栈顶的值存入局部变量表索引为 1 的位置（对应 i）
        3	bipush 8	将整数常量 8 推入操作数栈顶部
        5	istore_2	将栈顶的值存入局部变量表索引为 2 的位置（对应 j）
        6	iload_1	将局部变量表索引为 1 的值加载到操作数栈（即 i）
        7	iload_2	将局部变量表索引为 2 的值加载到操作数栈（即 j）
        8	iadd	弹出栈顶两个整数值相加，并将结果压入栈
        9	istore_3	将栈顶的结果存入局部变量表索引为 3 的位置（即 k）
        10	return	方法返回，结束执行
    */
    public static void main(String[] args) {
        // 定义一个变量i值为15
        int i = 15;
        // 定义一个变量j值为8
        int j = 8;
        // 计算i + j的值，并将结果赋值给k
        int k = i + j;
    }

}